#include "CompressorProcess.h"
#include <cstdio>
#include <csignal>
#include <cstdlib>
/**
 * 
 * \brief
 */
CompressorProcess cpr;


/**
 * 
 * @param sig
 */
void process_end(int sig) {
        printf("Le processus instrumentateur va se terminer !\n");
        (void) signal(SIGINT, SIG_DFL);
        
        printf("Fermeture des ipc \n");
        /*finalisation des IPC*/
        cpr.finitIPC();  
        
        /*ecriture de la trace dans le fichier*/
        printf("Ecriture de la trace dans un fichier\n");
        cpr.writeMemoryTraceToFile();
        
        //Ici le code de finalization
        printf("Au revoir !\n");
 
        exit(0);
}

int main(void)
{

    printf("Ici le processus instrumentateur\n");
 
    /*mise en place du gestionnaire de signaux*/
    (void) signal(SIGINT, process_end);
    
    /*init des ipcs*/
    cpr.initIPC();
    
    cpr.initReader();
    //Le processus va se mettre à attendre jusque à ce qu'on le kill
    cpr.startWork();
    
    cpr.finitReader();
    
}
